import { reqCategoryListData,reqGetBannerListData , reqGetFloorsListData } from '@/api'
// 3. 定义方法
const state = {
  // 三级导航数据
  categoryList:[],

  // 轮播图数据
  bannerList:[],

  // 楼层数据
  floorsList:[]
}
const actions = {
  // 通过异步获取三级列表数据
  async getCategoryListData(context) {
    const result = await reqCategoryListData()
    // 判断获取的数据是否成功,如果成功就提交给mutations中的方法，让其去更新状态
    if(result.code === 200) {
      // console.log(result.data);  
      // 下面的result是获取的数据
      context.commit('SAVE_CATEGORY_LIST_DATA',result)
    } else {
      console.log(result.message);
    }
  },

    // 通过异步获取轮播图数据
    async getBannerListData(context) {
      const result = await reqGetBannerListData()
      // 判断获取的数据是否成功,如果成功就提交给mutations中的方法，让其去更新状态
      if(result.code === 200) {
        // console.log(result.data);  
        // 下面的result是获取的数据
        context.commit('SAVE_BANNER_LIST_DATA',result)
      } else {
        console.log(result.message);
      }
    },

    // 异步获取楼层数据
    async getFloorsListData({commit}) {
      const result = await reqGetFloorsListData()
      if (result.code === 200) {
        commit('SAVE_FLOORS_LIST_DATA',result)
      } else {
        console.log(result.message);
      }
    }
}
const mutations = {
  SAVE_CATEGORY_LIST_DATA(state,payload) {
  
    state.categoryList = payload.data
    // console.log(state);
  },

  SAVE_BANNER_LIST_DATA(state,payload) {
  
    state.bannerList = payload.data
    // console.log(state);
},

 SAVE_FLOORS_LIST_DATA(state,payload) {
  state.floorsList = payload.data
}
}

const getters = {}

// 4. 导出
 export default {
  namespaced:true,  //模块化开发要开启命名空间
  state,
  actions,
  mutations,
  getters
}